package RMI;

import Ecu911_Negocio.Usuarios;
import Ecu911_Negocio.UsuariosListado;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import java.rmi.server.UnicastRemoteObject;
import java.util.ArrayList;
/**
 *
 * @author Marcelo Montaño
 */
public class ClaseServidor extends UnicastRemoteObject implements MetodosRemotosIngresoSistema{

    public ClaseServidor()throws RemoteException{
        
    }
    
    @Override
    public ArrayList conectarUsuario(String idUsuario, String passwordUsuario) throws RemoteException {
        boolean usuarioExiste = false;        
        ArrayList usuarioConectado = new ArrayList();
        System.out.println(idUsuario + " intentando conectar...");
        UsuariosListado misUsuarios = new UsuariosListado();
        Usuarios miUsuario = new Usuarios();
        misUsuarios.listar();
        ArrayList listaUsuarios;
        listaUsuarios = misUsuarios.getUsuarios();
        for (int i = 0; i < listaUsuarios.size(); i++){
            miUsuario = (Usuarios) listaUsuarios.get(i);
            if(miUsuario.getCodigo().equals(idUsuario) && miUsuario.getPassword().equals(passwordUsuario)){
                usuarioExiste = true;
                break;
            }
        }
        if (!usuarioExiste){
            System.out.println("Usuario no existe...");
        }
        else{
            System.out.println(miUsuario.getNombre() + " " + miUsuario.getApellido() + " conectado...");
            usuarioConectado.add(miUsuario.getCodigo());
            usuarioConectado.add(miUsuario.getNombre());
            usuarioConectado.add(miUsuario.getApellido());
        }
        return usuarioConectado;
    }

    @Override
    public ArrayList crearUsuario(String idUsuario, String nombreUsuario, String apellidoUsuario, String passwordUsuario, boolean estadoUsuario) throws RemoteException {
        //formo el objeto y le mando a grabar
        Usuarios miUsuario = new Usuarios();
        miUsuario.setCodigo(idUsuario);
        miUsuario.setNombre(nombreUsuario);
        miUsuario.setApellido(apellidoUsuario);
        miUsuario.setPassword(passwordUsuario);
        miUsuario.setEstado(estadoUsuario);
        return miUsuario.grabar();
    }
    
}
